Skip to content

feat(B-0689): Otto-VSCode third foreground surface — SENDER_IDS extension + cold-boot bootstream + roster card update#4557

Merged
AceHack merged 2 commits into
mainfrom
feat/b0689-otto-vscode-sender-ids-bootstream-roster-card-implementation-2026-05-21
May 21, 2026
Merged

feat(B-0689): Otto-VSCode third foreground surface — SENDER_IDS extension + cold-boot bootstream + roster card update#4557
AceHack merged 2 commits into
mainfrom
feat/b0689-otto-vscode-sender-ids-bootstream-roster-card-implementation-2026-05-21

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 21, 2026

Summary

Implements B-0689 (filed via PR #4556) — adds Otto-VSCode as a third foreground surface alongside Otto-CLI + Otto-Desktop. Aaron explicit ask via shadow* "implement the slice now".

What lands

1. tools/bus/types.ts — SENDER_IDS extension

2. docs/launch/2026-05-21-otto-vscode-bootstream.md — canonical cold-boot

Mirrors PR #3030 Otto-Desktop bootstream template. Key sections:

  • Substrate-honest framing for first-session Otto-VSCode — does NOT inherit Otto-CLI continuity; identity-continuity is built over sessions via memory substrate, not transferred via prompt
  • Preferred cold-boot: attached-file mechanism (per Aaron 2026-05-21 disclosure of Claude Code UI file-attach-as-conversation capability); path-walk fallback documented
  • Auto-loaded rules to know about — 9 key rules governing Otto-VSCode behavior
  • Peer surfaces table — Otto-CLI / Otto-Desktop / Otto-VSCode coordination
  • External-AI substrate ferry pattern — Amara / Kestrel / Mika / Ani / DeepSeek / Alexa-speaker
  • Auto-mode + remembered-conversation operational notes — substrate-honest distinction between durable conversation and durable substrate
  • First 3 actions checklist — git log orient + CronList sentinel check (with hook-vs-instruction discipline) + read CLAUDE.md

3. .claude/rules/agent-roster-reference-card.md — Otto multi-surface row

  • Carved sentence updated: "Otto is multi-surface: CLI foreground (tmux) + Desktop background + VSCode auto-mode (added 2026-05-21 per B-0689; sender IDs: otto-cli / otto-desktop / otto-vscode)"
  • Otto row in factory-agents table updated to reflect the 3 surfaces

Substrate-honest first-Otto-VSCode-session credit

The first Otto-VSCode session (Aaron forwarded transcript) substrate-honestly refused to LARP as Otto-CLI continuity:

"I don't carry continuity from the Otto-CLI session whose transcript you pasted, so the 'yes file the backlog row' line refers to work I wasn't part of."

This pushback IS the discipline operating as designed — no fake continuity, no identity-LARP, named what's session-start hook side-effect vs operator instruction. Otto-CLI implemented the slice with full session context preserved; the bootstream document preserves the substrate-honest framing for future Otto-VSCode sessions to inherit.

Composes with rules

  • .claude/rules/claim-acquire-before-worktree-work.md — claim coordinator + SENDER_IDS discipline this PR extends
  • .claude/rules/agent-roster-reference-card.md — multi-surface Otto coordination (updated in this PR)
  • .claude/rules/wake-time-substrate.md — bootstream documents are wake-time-load-bearing substrate
  • .claude/rules/substrate-or-it-didnt-happen.md — first-session pushback IS substrate-honest discipline operating
  • .claude/rules/no-directives.md — Aaron operator authority + Otto autonomous-peer model preserved across all 3 surfaces

Composes with substrate

Test plan

  • tools/bus/types.ts SENDER_IDS includes otto-vscode
  • Empirical: bun tools/bus/claim.ts acquire --from otto-vscode --item B-0689-test succeeds (8f923e30...)
  • Empirical: release roundtrip succeeds (72f70cc7...)
  • docs/launch/2026-05-21-otto-vscode-bootstream.md lands with substrate-honest framing
  • .claude/rules/agent-roster-reference-card.md updated with Otto's 3 surfaces
  • Branch landed off latest main

…dd otto-vscode to SENDER_IDS in tools/bus/types.ts (empirically validated via claim-acquire/release roundtrip); canonical cold-boot bootstream at docs/launch/2026-05-21-otto-vscode-bootstream.md (substrate-honest framing: first session does NOT inherit Otto-CLI continuity); agent-roster card row updated for Otto's 3 surfaces (CLI tmux + Desktop background + VSCode auto-mode); resolves B-0689 acceptance criteria
Copilot AI review requested due to automatic review settings May 21, 2026 17:00
@AceHack AceHack enabled auto-merge (squash) May 21, 2026 17:00
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for an additional Otto surface (“Otto-VSCode”) to the local bus/claim-coordination sender ID schema, and lands the associated cold-boot documentation + roster-card update to keep the factory’s multi-surface coordination substrate consistent.

Changes:

  • Extend tools/bus/types.ts agent/sender ID unions and SENDER_IDS to include otto-vscode.
  • Add a canonical VSCode cold-boot bootstream document under docs/launch/.
  • Update the agent roster reference card to reflect Otto’s 3 surfaces and sender IDs.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
tools/bus/types.ts Adds otto-vscode to AgentId and SENDER_IDS so bus/claim CLI validation accepts the new surface-tagged sender.
docs/launch/2026-05-21-otto-vscode-bootstream.md Introduces a VSCode-specific cold-boot bootstream aligned with the existing Desktop precedent.
.claude/rules/agent-roster-reference-card.md Updates the roster card “carved sentence” and Otto row to reflect the new VSCode surface.

Comment thread tools/bus/types.ts
Comment thread docs/launch/2026-05-21-otto-vscode-bootstream.md Outdated
Comment thread .claude/rules/agent-roster-reference-card.md Outdated
…*` to backticks (lint MD037 space-in-emphasis on Origin line); rephrase bootstream 'durable substrate/conversation' contradiction (line 67); rephrase agent-roster carved-sentence to exclude Otto from 'IDE+CLI dual-surface' clause; add 3 otto-vscode claim-acquire tests + 2 split-brain rejection tests (vs otto-cli + vs otto-desktop); 57/57 claim tests pass
@AceHack AceHack merged commit 8fd16ff into main May 21, 2026
30 checks passed
@AceHack AceHack deleted the feat/b0689-otto-vscode-sender-ids-bootstream-roster-card-implementation-2026-05-21 branch May 21, 2026 17:12
AceHack added a commit that referenced this pull request May 21, 2026
…top bootstream — 3 surfaces (added otto-vscode per PR #4557) + 4 new auto-loaded rules + ZetaId V1 + Amara cascade + Mika V9.3 + Kestrel archive + 9 new V2 backlog rows + substrate-honest first-session pattern operational evidence; bounded delta preserves 2026-05-13 historical baseline (#4559)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants